#define _CRT_SECURE_NO_WARNINGS 1
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <cmath>
using namespace std;
#define ll long long


//int t, n, a[200010],f[200010], m;
//ll ans;
//int main() {
//	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
//	cin >> t;
//	while (t--)
//	{
//		cin >> n;
//		for (int i = 1; i <= n; i++) { 
//			cin >> a[i];
//			if (i >= 2)
//				f[i] = abs(a[i] - a[i - 1]);
//		}
//		cin >> m;
//		while (m--) {
//			ans = 0;
//			int l = 0, r = 0, test1, test2;
//			cin >> test1 >> test2;
//			if (test1<test2)
//			{
//				l = test1;
//				r = test2;
//				while (l != r) {
//					if (l==1)
//					{
//						l++;
//						ans += 1;
//						continue;
//					}
//					l++; 
//					if (f[l-1]>f[l])
//						ans += 1;
//					else ans += f[l];
//				}
//			}
//			else {
//				l = test2;
//				r = test1;
//				while (l != r) {
//					if (r==n)
//					{
//						ans += 1;
//						r--;
//						continue;
//					}
//					if (f[r] < f[r + 1])
//						ans += 1;
//					else ans += f[r];
//					r--;
//				}
//			}
//			printf("%lld\n", ans);
//		}
//	}
//	return 0;
//}
int t, n, a[200010], f[200010],c[200010],b[200010], m;
ll ans;
int main() {
	ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
	cin >> t;
	while (t--)
	{
		cin >> n;
		for (int i = 1; i <= n; i++) {
			cin >> a[i];
		}
		for (int i = 1; i <= n; i++) {
			if (i == 1)
				c[i] = 2;
			else if (i == n)
				c[i] = n - 1;
			else
				if (a[i] - a[i - 1] < a[i + 1] - a[i])
					c[i] = i - 1;
				else
					c[i] = i + 1;
		}
		for (int i = 1; i <= n; i++)
			if (c[i] == i + 1)
				b[i + 1] = b[i] + 1;
			else
				b[i + 1] = b[i] + (a[i + 1] - a[i]);
		for (int i = n; i >= 1; i--)
			if (c[i] == i - 1)
				f[i - 1] = f[i] + 1;
			else
				f[i - 1] = f[i] + (a[i] - a[i - 1]);
		cin >> m;
		while (m--)
		{
			int l = 0, r = 0;
			cin >> l >> r;
			if (l < r)
				cout << b[r] - b[l] << '\n';
			else
				cout << f[r] - f[l] << '\n';
		}
	}
	return 0;
}